NetLogo banner

Home
Download
Help
Resources
Extensions
FAQ
NetLogo Publications
Contact Us
Donate

Models:
Library
Community
Modeling Commons

Beginners Interactive NetLogo Dictionary (BIND)
NetLogo Dictionary

User Manuals:
Web
Printable
Chinese
Czech
Farsi / Persian
Japanese
Spanish

  Donate

NetLogo User Community Models

(back to the NetLogo User Community Models)

[screen shot]

Download
If clicking does not initiate a download, try right clicking or control clicking and choosing "Save" or "Download".

Try It in NetLogo Web

## WHAT IS IT?

A blob or "Physarum polycephalum" is an unicellular animal with no brain, but with 'intelligent' behavior. For example it can escape a labyrinthe, find it's food, avoid some toxic areas and remember substances it encounter. It can also communicate with other blobs or fusion with them. If you cut a blob in two you will create two blob.

Despite its lack of nerves and brain, it can survive in its environment. Like an antshill, it seems like some basics logics, applys to it's nodes and chimistry, allowing it to solve some simple problem.

The goal of this model is to try to simulate a blob basic behavior: explore, find food and avoid toxic substances.

I recommend watching this video (english subtitles): https://www.youtube.com/watch?v=47qiwqKRef0

## HOW IT WORKS

Turtles represent the cores of the blob and react to other turtles and caracteristics of patches they can sense/see.

"vision-patches" is the variable defining the distance in patches at which turtles can sense patches.

Patches have an "importance" value. Turtles will face to patches with most "important" value and "jump" to it with "speed-cores" value. The importance is calculated using these variables: mucus, danger, number of cores, surrounding patches with cores. Coefficients multiply these variables. They can be adjusted with sliders by the observer.

"Mucus" is a substance which allow the blob to know where he already went.

"Danger" is the dangerosity of the patch.

"Number of other cores" is the count of cores on this patch. It is used to make the turtles choose in priority patches with no core.

"Surrounding patches with cores" is the number of patches with cores on it, surrounding the actual patch. It is used to make the turtle choose patches not to far from the group of turtle, or gaps in the group of turtles.

Because only the "importance" value is used in the decision process, the value of each variable can sometimes compensate themselves.

Cores have a color:

Yellow (45): nothing is detected
Green (65): food is detected
Red (15): danger is detected

The color depend of the proximity of what the turtle detect. For example greener is the turtle, closer it is from food.

Turtles will get themselves closer to the turtle with the "best" color they see in a radius of 2 patches.

The variable "sensibility-food" and "sensibility-danger" is the distance of detection in patches.

## HOW TO USE IT

"vision-patches" is the variable defining the distance in patches at which turtles can sense patches. It is very important to keep the cores packed.

"coef-rejection-mucus" can be adjused to increase the repulsivity of the mucus.

"coef-danger" can be adjusted to increase the repulsivity of chimical (danger).

"coef-rejection-other-core" can be ajusted to decrease the attractivity of patches with a lot of turtles on it.

"coef-importance-cohesion" can be adjusted to increase the attractivity of patches with cores around.

"speed-cores": very important variable for the blob behavior. This is the number of patches by ticks the core can "jump". Too low, the blob will not move and should be small. Too large, it wil desintegrate itself. "vision-patches" and "speed-cores" have to be tuned together in order to keep the blob in one piece.

"evaporation-mucus" is the rate of evaporation of the mucus.

"mucus-secretion" is the value of mucus secretion by turtles at each ticks.

"loss-of-energy-blob" is the value of energy the blob lose at each ticks. At energy = 0 the core will die.

## THINGS TO NOTICE

The blob can be very unstable depending of the parameters you chose. I recomend not to apply extrems values to keep the turtles grouped. But if turtles are too grouped they will lack initiatives and will not move enough to allow the blob to move itself.

When there is a lot of turtles the blob can separate itself if he has several choices to do (two sources of food, two ways to go etc..).

The blob can be very cautious in labyrinths but always find a way out. Please be patient.

"Chimical" is not a wall. The blob can get throught it if the chimical is not thick enough.

## THINGS TO TRY

Play with the sliders and test the blob to see how it react. You can use "add" to add food, mucus and chimical. Create a labyrinth, attract him with food, separate it, increase mucus secretion so it can find it's way etc....

But don't be too cruel, the blob has feeling too (maybe).

## EXTENDING THE MODEL

Things to add:

Birth of a new core when cores have enough energy.

A map with a labyrinth made of real wall.

Memory of the blob : cores could keep a value of the substance they encountered and react differently.

Ameliorate the code: an experienced programmer could probably do better and simpler. The blob is too grouped and separate itself too easily. Use of links could help.

Add images (humans, cars etc..) to food, chimical and add other things for entertainment purpose.

## NETLOGO FEATURES

## RELATED MODELS

## CREDITS AND REFERENCES

Model created by Arnauld GATET. DSTI SPOC A18.

Contact : arnauld.gatet@hotmail.fr

Thanks to "Flocking" and "Ants adapatation" models for inspiration and some lines of code : "Flocking" for behavior of turtles with each other.
"Ants adaptation" for observer interactions.

(back to the NetLogo User Community Models)